---
title: 能力成熟度模型
sidebar_position: 2
---

## 能力成熟度模型(CMM)

CMM（Capability Maturity Model）是一个评估和改进软件开发过程的模型框架。它定义了5个成熟度等级：

| 能力等级 | 特点 | 关键过程区域 |
|---------|------|-------------|
| 初始级（Initial） | 软件过程的特点是**杂乱无章**，有时甚至很混乱，几乎没有明确定义的步骤，项目的成功**完全依赖个人的努力和英雄式核心人物的作用**。 | - |
| 可重复级（Repeatable） | 建立了**基本的项目管理过程和实践**来跟踪项目费用、进度和功能特性，有**必要的过程准则**来重复以前在同类项目中的成功。 | 软件配置管理、软件质量保证、软件子合同管理、软件项目跟踪与监督、软件项目策划、软件需求管理 |
| 已定义级（Defined） | 管理和工程两方面的软件过程已经**文档化、标准化**，并综合成整个软件开发组织的标准软件过程。所有项目都采用根据实际情况修改后得到的标准软件过程来开发和维护软件。 | 同行评审、组间协调、软件产品工程、集成软件管理、培训大纲、组织过程定义、组织过程集中 |
| 已管理级（Managed） | 制定了软件过程和产品质量的**详细度量标准**。对软件过程和产品质量有定量的理解和控制。 | 软件质量管理和定量过程管理 |
| 优化级（Optimized） | 加强了定量分析，通过来自过程质量反馈和来自新观念、新技术的反馈使过程能**不断持续地改进**。 | 过程更改管理、技术改革管理和缺陷预防 |

## 集成能力成熟度模型(CMMI)

CMMI（Capability Maturity Model Integration）是若干过程模型的综合和改进，不仅仅支持软件，而是支持<RedSpan>多个工程学科和领域的</RedSpan>、系统的、一致的过程改进框架，能适应现代工程的特点和需要，能提高过程的质量和工作效率。

### CMMI的两种表示方法

#### 1. 阶段式模型

类似于CMM，它关注组织的成熟度，五个成熟度等级如下：

| 能力等级 | 特点 | 关键过程区域 |
|---------|------|-------------|
| 初始级 | 过程不可预测且缺乏控制 | - |
| 已管理级 | 过程为项目服务 | 需求管理、项目计划、配置管理、项目监督与控制、供应商合同管理、度量和分析、过程和产品质量保证 |
| 已定义级 | 过程为组织服务 | 需求开发、技术解决方案、产品集成、验证、确认、组织级过程集中、组织级过程定义、组织级培训、集成项目管理、风险管理、集成化的团队、决策分析和解决方案、组织级集成环境 |
| 定量管理 | 过程已度量和控制 | 组织过程性能、定量项目管理 |
| 优化级 | 集中于过程改进和优化 | 组织级改革与实施、因果分析和解决方案 |

#### 2. 连续式模型

关注每个过程域的能力，一个组织对不同的过程域可以达到不同的过程域能力等级。这种方式允许组织根据自身业务目标和改进重点，灵活选择需要改进的过程域。

### CMMI的主要特点

1. 支持多领域集成
   - 不仅适用于软件开发
   - 可应用于多个工程学科
   - 适合系统工程项目

2. 灵活的评估方式
   - 可以选择阶段式或连续式表示方法
   - 允许组织根据实际需求选择改进路径

3. 系统化的过程改进
   - 提供了完整的过程改进框架
   - 包含具体的实践活动和度量方法
   - 强调持续改进

4. 关注组织效能
   - 注重过程的度量和控制
   - 强调质量的定量管理
   - 重视持续优化和改进

